﻿
Partial Class Sistema_Internados
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
        If Page.IsPostBack = False Then
            llenarCombos()
            CargarDatos()
        End If
    End Sub
    Private Sub llenarCombos()
        Using bd As New BdHogaresDataContext
            Dim a = From c In bd.Web_Parametros
                    Where c.Categoria = "Ubicacion"
                    Select c.ValorOpcion, c.NombreOpcion
            With rbLocalizacion
                .DataSource = a
                .DataTextField = "NombreOpcion"
                .DataValueField = "ValorOpcion"
                .DataBind()
            End With
        End Using

    End Sub
    Protected Sub Button1_Click(sender As Object, e As System.EventArgs) Handles Button1.Click
        limpiar()
        MVAgregar.ActiveViewIndex = 0
    End Sub

    Private Sub limpiar()
        txtInstitucion.Text = ""
        Municipio.limpiar()
        txtCodProyecto.Text = ""
        rbLocalizacion.SelectedIndex = -1
        txtDireccion.Text = ""
        txtBarrio.Text = ""
        txtComuna.Text = ""
        txtVereda.Text = ""
        txtCorregimiento.Text = ""
        lblMensaje.Text = ""
    End Sub

    Private Sub CargarDatos()
        Using bd As New BdHogaresDataContext
            Dim a = From c In bd.Web_internados
                    Select c.Municipio.Departamento.Departamento, c.Municipio.Municipio,
                    c.idinternado, c.CodProyecto, c.Institucion

            If a.Count() > 0 Then
                grdInternados.DataSource = a
                grdInternados.DataBind()
            End If
        End Using
    End Sub

    Protected Sub btnRegistrar_Click(sender As Object, e As System.EventArgs) Handles btnRegistrar.Click
        If validar() = False Then
            Exit Sub
        End If
        Dim internado As New Web_internado
        With internado
            .CodProyecto = txtCodProyecto.Text
            .Institucion = txtInstitucion.Text
            .CodMunicipio = Municipio.CodMunicipio
            .Localizacion = rbLocalizacion.SelectedValue
            .Direccion = txtDireccion.Text
            .Barrio = txtBarrio.Text
            .Comuna = txtComuna.Text
            .Vereda = txtVereda.Text
            .Corregimiento = txtCorregimiento.Text

            '.NombreProfesional = txtNombreprofesional.Text
            .FechaDiligenciamiento = Date.Now


            Using h As New Helper
                .idUsuario = h.GetUsuario(Context.User.Identity.Name).IdUsurio
            End Using

        End With
        Using bd As New BdHogaresDataContext
            Dim a = From c In bd.Web_internados
                    Where c.Institucion = txtInstitucion.Text
                    Select c

            If a.Count() = 0 Then
                bd.Web_internados.InsertOnSubmit(internado)
                bd.SubmitChanges()
                bd.registrarLog(Context.User.Identity.Name, 4, Request.CurrentExecutionFilePath)
                limpiar()
                lblMensaje.Text = "Se ha registrado la institución"
                Response.Redirect("InternadosPersonas.aspx?idinternado=" & internado.idinternado)
                'CargarDatos()
            Else
                lblMensaje.Text = "Ya se encuentra una institución registrada con ese nombre"
            End If
        End Using
    End Sub

    Function validar() As Boolean
        Dim mensaje As New System.Text.StringBuilder
        lblMensaje.Text = ""
        Select Case rbLocalizacion.SelectedValue
            Case 1
                'Urbano
                If String.IsNullOrEmpty(txtBarrio.Text) And String.IsNullOrEmpty(txtComuna.Text) Then
                    mensaje.AppendLine("Si es urbano debe digitar un barrio o una comuna")
                End If
            Case 2
                'rural
                If String.IsNullOrEmpty(txtVereda.Text) And String.IsNullOrEmpty(txtCorregimiento.Text) Then
                    mensaje.AppendLine("Si es rural debe digitar una vereda o un corregimiento")
                End If
        End Select
        If mensaje.Length > 0 Then
            lblMensaje.Text = mensaje.ToString()
            Return False
        Else
            lblMensaje.Text = mensaje.ToString()
            Return True
        End If        
    End Function


    Protected Sub btnNuevo_Click(sender As Object, e As System.EventArgs) Handles btnNuevo.Click
        MVAgregar.ActiveViewIndex = 1
    End Sub
End Class
